/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Util;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.text.MaskFormatter;

/**
 *
 * @author Javi
 * Clase auxiliar para la edición de fechas mediante un JFormattedTextField
 *
 */
public class FormatoFecha extends MaskFormatter{

    /** Se construye con el patrón deseado */
    public FormatoFecha() throws ParseException
    {
        // Las # son cifras y representa "dd/mm/yy"
        super ("##/##/####");
    }

    private SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy");

    /** Convierte el texto del editor en un Date */
    public Object stringToValue(String text) throws ParseException{
        return formato.parseObject(text);
    }

    /** Redibe un Date o null y debe convertirlo a texto que cumpla el patrón indicado anteriormente */
    public String valueToString(Object value) throws ParseException{
        if (value instanceof Date)
            return formato.format((Date)value);
        return formato.format(new Date());
    }
}
